# 把只包含质因子2、3和5的数称作丑数（Ugly Number）。例如6、8都是丑数，但14不是，因为它包含质因子7。
# 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。

def GetUglyNumber_Solution(index):
    if not index:
        return
    res = [1]
    i2 = 0
    i3 = 0
    i5 = 0
    for i in range(index-1):
        m = min(res[i2]*2,res[i3]*3,res[i5]*5)
        res.append(m)
        if m%2==0:
            i2+=1
        if m%3==0:
            i3+=1
        if m%5==0:
            i5+=1

    return res[-1]

print(GetUglyNumber_Solution(11))